using System;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;

using ILRuntime.CLR.TypeSystem;
using ILRuntime.CLR.Method;
using ILRuntime.Runtime.Enviorment;
using ILRuntime.Runtime.Intepreter;
using ILRuntime.Runtime.Stack;
using ILRuntime.Reflection;
using ILRuntime.CLR.Utils;
using System.Linq;

namespace ILRuntime.Runtime.Generated
{
    unsafe class huqiang_Core_HGUI_StringEx_Binding
    {
        public static void Register(ILRuntime.Runtime.Enviorment.AppDomain app)
        {
            BindingFlags flag = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly;
            MethodBase method;
            FieldInfo field;
            Type[] args;
            Type type = typeof(huqiang.Core.HGUI.StringEx);
            args = new Type[]{};
            method = type.GetMethod("get_HaveLabel", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_HaveLabel_0);
            args = new Type[]{};
            method = type.GetMethod("get_noEmoji", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_noEmoji_1);
            args = new Type[]{};
            method = type.GetMethod("get_EmojiCount", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_EmojiCount_2);
            args = new Type[]{};
            method = type.GetMethod("get_Length", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_Length_3);
            args = new Type[]{};
            method = type.GetMethod("get_RichText", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_RichText_4);
            args = new Type[]{};
            method = type.GetMethod("get_FullString", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_FullString_5);
            args = new Type[]{typeof(System.Int32)};
            method = type.GetMethod("get_Item", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, get_Item_6);
            args = new Type[]{typeof(System.Char)};
            method = type.GetMethod("HaveMesh", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, HaveMesh_7);
            args = new Type[]{typeof(System.Int32), typeof(System.Int32)};
            method = type.GetMethod("SubstringByTextElements", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, SubstringByTextElements_8);
            args = new Type[]{typeof(System.Int32), typeof(System.Int32)};
            method = type.GetMethod("RmoveTextElements", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, RmoveTextElements_9);
            args = new Type[]{typeof(System.Int32), typeof(System.String)};
            method = type.GetMethod("InsertTextElements", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, InsertTextElements_10);
            args = new Type[]{typeof(System.String), typeof(System.Boolean)};
            method = type.GetMethod("Reset", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Reset_11);
            args = new Type[]{typeof(System.String)};
            method = type.GetMethod("DeleteLabel", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, DeleteLabel_12);
            args = new Type[]{typeof(System.Int32), typeof(UnityEngine.Color32), typeof(UnityEngine.FontStyle)};
            method = type.GetMethod("SplitLableString", flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, SplitLableString_13);

            field = type.GetField("noEmojiInfo", flag);
            app.RegisterCLRFieldGetter(field, get_noEmojiInfo_0);
            app.RegisterCLRFieldSetter(field, set_noEmojiInfo_0);
            app.RegisterCLRFieldBinding(field, CopyToStack_noEmojiInfo_0, AssignFromStack_noEmojiInfo_0);
            field = type.GetField("meshInfo", flag);
            app.RegisterCLRFieldGetter(field, get_meshInfo_1);
            app.RegisterCLRFieldSetter(field, set_meshInfo_1);
            app.RegisterCLRFieldBinding(field, CopyToStack_meshInfo_1, AssignFromStack_meshInfo_1);
            field = type.GetField("noLable", flag);
            app.RegisterCLRFieldGetter(field, get_noLable_2);
            app.RegisterCLRFieldSetter(field, set_noLable_2);
            app.RegisterCLRFieldBinding(field, CopyToStack_noLable_2, AssignFromStack_noLable_2);
            field = type.GetField("Start", flag);
            app.RegisterCLRFieldGetter(field, get_Start_3);
            app.RegisterCLRFieldBinding(field, CopyToStack_Start_3, null);
            field = type.GetField("end", flag);
            app.RegisterCLRFieldGetter(field, get_end_4);
            app.RegisterCLRFieldBinding(field, CopyToStack_end_4, null);
            field = type.GetField("equals", flag);
            app.RegisterCLRFieldGetter(field, get_equals_5);
            app.RegisterCLRFieldBinding(field, CopyToStack_equals_5, null);
            field = type.GetField("sb", flag);
            app.RegisterCLRFieldGetter(field, get_sb_6);
            app.RegisterCLRFieldBinding(field, CopyToStack_sb_6, null);
            field = type.GetField("eb", flag);
            app.RegisterCLRFieldGetter(field, get_eb_7);
            app.RegisterCLRFieldBinding(field, CopyToStack_eb_7, null);
            field = type.GetField("si", flag);
            app.RegisterCLRFieldGetter(field, get_si_8);
            app.RegisterCLRFieldBinding(field, CopyToStack_si_8, null);
            field = type.GetField("ei", flag);
            app.RegisterCLRFieldGetter(field, get_ei_9);
            app.RegisterCLRFieldBinding(field, CopyToStack_ei_9, null);
            field = type.GetField("sSize", flag);
            app.RegisterCLRFieldGetter(field, get_sSize_10);
            app.RegisterCLRFieldBinding(field, CopyToStack_sSize_10, null);
            field = type.GetField("eSize", flag);
            app.RegisterCLRFieldGetter(field, get_eSize_11);
            app.RegisterCLRFieldBinding(field, CopyToStack_eSize_11, null);
            field = type.GetField("sColor", flag);
            app.RegisterCLRFieldGetter(field, get_sColor_12);
            app.RegisterCLRFieldBinding(field, CopyToStack_sColor_12, null);
            field = type.GetField("eColor", flag);
            app.RegisterCLRFieldGetter(field, get_eColor_13);
            app.RegisterCLRFieldBinding(field, CopyToStack_eColor_13, null);
            field = type.GetField("sMaterial", flag);
            app.RegisterCLRFieldGetter(field, get_sMaterial_14);
            app.RegisterCLRFieldBinding(field, CopyToStack_sMaterial_14, null);
            field = type.GetField("eMaterial", flag);
            app.RegisterCLRFieldGetter(field, get_eMaterial_15);
            app.RegisterCLRFieldBinding(field, CopyToStack_eMaterial_15, null);
            field = type.GetField("sQuad", flag);
            app.RegisterCLRFieldGetter(field, get_sQuad_16);
            app.RegisterCLRFieldBinding(field, CopyToStack_sQuad_16, null);
            field = type.GetField("eQuad", flag);
            app.RegisterCLRFieldGetter(field, get_eQuad_17);
            app.RegisterCLRFieldBinding(field, CopyToStack_eQuad_17, null);
            field = type.GetField("lableInfos", flag);
            app.RegisterCLRFieldGetter(field, get_lableInfos_18);
            app.RegisterCLRFieldSetter(field, set_lableInfos_18);
            app.RegisterCLRFieldBinding(field, CopyToStack_lableInfos_18, AssignFromStack_lableInfos_18);


            app.RegisterCLRCreateArrayInstance(type, s => new huqiang.Core.HGUI.StringEx[s]);

            args = new Type[]{typeof(System.String), typeof(System.Boolean)};
            method = type.GetConstructor(flag, null, args, null);
            app.RegisterCLRMethodRedirection(method, Ctor_0);

        }


        static StackObject* get_HaveLabel_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.HaveLabel;

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static StackObject* get_noEmoji_1(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.noEmoji;

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* get_EmojiCount_2(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.EmojiCount;

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static StackObject* get_Length_3(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.Length;

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static StackObject* get_RichText_4(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.RichText;

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static StackObject* get_FullString_5(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.FullString;

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* get_Item_6(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Int32 @index = ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method[index];

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* HaveMesh_7(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 1);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Char @ch = (char)ptr_of_this_method->Value;


            var result_of_this_method = huqiang.Core.HGUI.StringEx.HaveMesh(@ch);

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method ? 1 : 0;
            return __ret + 1;
        }

        static StackObject* SubstringByTextElements_8(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Int32 @len = ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.Int32 @index = ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.SubstringByTextElements(@index, @len);

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* RmoveTextElements_9(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Int32 @len = ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.Int32 @index = ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.RmoveTextElements(@index, @len);

            return __ret;
        }

        static StackObject* InsertTextElements_10(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @str = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.Int32 @index = ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.InsertTextElements(@index, @str);

            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = result_of_this_method;
            return __ret + 1;
        }

        static StackObject* Reset_11(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 3);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Boolean @richText = ptr_of_this_method->Value == 1;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @str = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.Reset(@str, @richText);

            return __ret;
        }

        static StackObject* DeleteLabel_12(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.String @str = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            var result_of_this_method = instance_of_this_method.DeleteLabel(@str);

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static StackObject* SplitLableString_13(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 4);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            UnityEngine.FontStyle @style = (UnityEngine.FontStyle)typeof(UnityEngine.FontStyle).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)20);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            UnityEngine.Color32 @color = (UnityEngine.Color32)typeof(UnityEngine.Color32).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)16);
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            System.Int32 @fontSize = ptr_of_this_method->Value;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
            huqiang.Core.HGUI.StringEx instance_of_this_method = (huqiang.Core.HGUI.StringEx)typeof(huqiang.Core.HGUI.StringEx).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.SplitLableString(@fontSize, @color, @style);

            return __ret;
        }


        static object get_noEmojiInfo_0(ref object o)
        {
            return ((huqiang.Core.HGUI.StringEx)o).noEmojiInfo;
        }

        static StackObject* CopyToStack_noEmojiInfo_0(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.StringEx)o).noEmojiInfo;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_noEmojiInfo_0(ref object o, object v)
        {
            ((huqiang.Core.HGUI.StringEx)o).noEmojiInfo = (huqiang.Core.HGUI.StringEx.EmojiInfo)v;
        }

        static StackObject* AssignFromStack_noEmojiInfo_0(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            huqiang.Core.HGUI.StringEx.EmojiInfo @noEmojiInfo = (huqiang.Core.HGUI.StringEx.EmojiInfo)typeof(huqiang.Core.HGUI.StringEx.EmojiInfo).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)16);
            ((huqiang.Core.HGUI.StringEx)o).noEmojiInfo = @noEmojiInfo;
            return ptr_of_this_method;
        }

        static object get_meshInfo_1(ref object o)
        {
            return ((huqiang.Core.HGUI.StringEx)o).meshInfo;
        }

        static StackObject* CopyToStack_meshInfo_1(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.StringEx)o).meshInfo;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_meshInfo_1(ref object o, object v)
        {
            ((huqiang.Core.HGUI.StringEx)o).meshInfo = (huqiang.Core.HGUI.StringEx.EmojiInfo)v;
        }

        static StackObject* AssignFromStack_meshInfo_1(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            huqiang.Core.HGUI.StringEx.EmojiInfo @meshInfo = (huqiang.Core.HGUI.StringEx.EmojiInfo)typeof(huqiang.Core.HGUI.StringEx.EmojiInfo).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)16);
            ((huqiang.Core.HGUI.StringEx)o).meshInfo = @meshInfo;
            return ptr_of_this_method;
        }

        static object get_noLable_2(ref object o)
        {
            return ((huqiang.Core.HGUI.StringEx)o).noLable;
        }

        static StackObject* CopyToStack_noLable_2(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.StringEx)o).noLable;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_noLable_2(ref object o, object v)
        {
            ((huqiang.Core.HGUI.StringEx)o).noLable = (System.String)v;
        }

        static StackObject* AssignFromStack_noLable_2(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.String @noLable = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Core.HGUI.StringEx)o).noLable = @noLable;
            return ptr_of_this_method;
        }

        static object get_Start_3(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.Start;
        }

        static StackObject* CopyToStack_Start_3(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.Start;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = (int)result_of_this_method;
            return __ret + 1;
        }

        static object get_end_4(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.end;
        }

        static StackObject* CopyToStack_end_4(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.end;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = (int)result_of_this_method;
            return __ret + 1;
        }

        static object get_equals_5(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.equals;
        }

        static StackObject* CopyToStack_equals_5(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.equals;
            __ret->ObjectType = ObjectTypes.Integer;
            __ret->Value = (int)result_of_this_method;
            return __ret + 1;
        }

        static object get_sb_6(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.sb;
        }

        static StackObject* CopyToStack_sb_6(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.sb;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_eb_7(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.eb;
        }

        static StackObject* CopyToStack_eb_7(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.eb;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_si_8(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.si;
        }

        static StackObject* CopyToStack_si_8(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.si;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_ei_9(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.ei;
        }

        static StackObject* CopyToStack_ei_9(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.ei;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_sSize_10(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.sSize;
        }

        static StackObject* CopyToStack_sSize_10(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.sSize;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_eSize_11(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.eSize;
        }

        static StackObject* CopyToStack_eSize_11(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.eSize;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_sColor_12(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.sColor;
        }

        static StackObject* CopyToStack_sColor_12(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.sColor;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_eColor_13(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.eColor;
        }

        static StackObject* CopyToStack_eColor_13(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.eColor;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_sMaterial_14(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.sMaterial;
        }

        static StackObject* CopyToStack_sMaterial_14(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.sMaterial;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_eMaterial_15(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.eMaterial;
        }

        static StackObject* CopyToStack_eMaterial_15(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.eMaterial;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_sQuad_16(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.sQuad;
        }

        static StackObject* CopyToStack_sQuad_16(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.sQuad;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_eQuad_17(ref object o)
        {
            return huqiang.Core.HGUI.StringEx.eQuad;
        }

        static StackObject* CopyToStack_eQuad_17(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = huqiang.Core.HGUI.StringEx.eQuad;
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static object get_lableInfos_18(ref object o)
        {
            return ((huqiang.Core.HGUI.StringEx)o).lableInfos;
        }

        static StackObject* CopyToStack_lableInfos_18(ref object o, ILIntepreter __intp, StackObject* __ret, IList<object> __mStack)
        {
            var result_of_this_method = ((huqiang.Core.HGUI.StringEx)o).lableInfos;
            object obj_result_of_this_method = result_of_this_method;
            if(obj_result_of_this_method is CrossBindingAdaptorType)
            {    
                return ILIntepreter.PushObject(__ret, __mStack, ((CrossBindingAdaptorType)obj_result_of_this_method).ILInstance);
            }
            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }

        static void set_lableInfos_18(ref object o, object v)
        {
            ((huqiang.Core.HGUI.StringEx)o).lableInfos = (System.Collections.Generic.List<huqiang.Core.HGUI.StringEx.LableInfo>)v;
        }

        static StackObject* AssignFromStack_lableInfos_18(ref object o, ILIntepreter __intp, StackObject* ptr_of_this_method, IList<object> __mStack)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            System.Collections.Generic.List<huqiang.Core.HGUI.StringEx.LableInfo> @lableInfos = (System.Collections.Generic.List<huqiang.Core.HGUI.StringEx.LableInfo>)typeof(System.Collections.Generic.List<huqiang.Core.HGUI.StringEx.LableInfo>).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            ((huqiang.Core.HGUI.StringEx)o).lableInfos = @lableInfos;
            return ptr_of_this_method;
        }



        static StackObject* Ctor_0(ILIntepreter __intp, StackObject* __esp, IList<object> __mStack, CLRMethod __method, bool isNewObj)
        {
            ILRuntime.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject* ptr_of_this_method;
            StackObject* __ret = ILIntepreter.Minus(__esp, 2);
            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Boolean @richText = ptr_of_this_method->Value == 1;

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @str = (System.String)typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack), (CLR.Utils.Extensions.TypeFlags)0);
            __intp.Free(ptr_of_this_method);


            var result_of_this_method = new huqiang.Core.HGUI.StringEx(@str, @richText);

            return ILIntepreter.PushObject(__ret, __mStack, result_of_this_method);
        }


    }
}
